Python 第三方库
pypi简介
前面我们已经介绍完了自定义模块和内置模块,现在本章我们将介绍常用的第三方模块。
第三方模块需要我们下载并安装后才能使用,就像手机的应用商 店一样。在应用商店里有许多应用,我们需要选择并下载安装才能使用。那么我们的第三方模块应该从哪里下载呢?这时我们就需要使用到 Python 的包索引,也就是 Python package index,简称为 pypi。Pypi 是 Python 官方的第三方库的仓库,任何人都可以从这个第三方仓库下载或上传自己开发的库。现在我们来看一下这个 pypi。打开浏览器,我们输入网址 www.pypi.org,这就是 pypi 的官方网址。如下图所示:
在 pypi 这个仓库里已经有了很多的项目、发行版本、文件和用户。那么我们要如何使用它呢?假如说我要搜索一个与 PDF 相关的包,那么我直接在搜索栏里输入 PDF,现在就有 3245 个关于 PDF 的项目。如下图所示:
然后小伙伴们可以根据自己的需要选择不同的 Python 包。比如说我们看第一个,在这个页面中有这个包的描述、安装方法、CLI 也就是命令行使用方式、使用方法和编码数据。这是这个模块的使用介绍。
在pypi中有这么多的包,小伙伴们应该如何选择呢?这里推荐小伙伴们在选择的时候,尽量选择一些用户量较多并且文档齐全,还经常更新的这样的包。
下载安装第三方包
在上一节课中,我们 已经介绍了 Python 中的包或模块,它们都存储在一个名为 pypi 的仓库中。在本节中,我们将详细介绍如何下载和安装第三方模块或包。为此,我们需要使用一个名为 pip ,它是一个 Python 包管理工具,取代了之前使用的 easyintall。如果我们需要下载一个第三方包,我们需要到 pypi 这里来下载,使用 pip 命令,即 pip install 加上包名。如下图所示:
接下来,让我们通过一个示例来演示如何使用 pip 命令下载第三方包。假设我们在 pypi 网站中搜索一个名为 beautiful table 的简单实用包。我们选择第一个 beautiful table,其当前版本号为 0.8.0。要下载它,我们只需复制网站上提供的 pip install 命令,如下图所示:
下一步我们打开PyCharm。在PyCharm中有一个终端,也就是所谓的"terminal"。当前我们使用的是一个微虚拟环境。我们使用刚才的命令,
pip install beautifultable
按回车开始安装。如下图所示:
我们看一下下面的信息:"installing collection package",这是包名"beautiful table"。然后下面是"successfully installed",这就说明我们已经成功安装了。然后呢,我们可以再来检测一下,使用一个命令
pip list
这个命令可以查看我们这个环境下面的所有安装的包。输出结果中左侧是包名,右侧是版本号。这里就是我刚才 新安装的包"beautiful table",版本号是0.8.0。如下图所示:
下面还有一些这个环境下的所有的包。这个pip命令就是Python自带的。之所以可以使用这个命令,是因为我们在安装Python的时候就已经自带了pip包。安装成功以后,我们现在可以使用它了。
我们先来介绍一个例子,看一下如何使用它。我们来创建一个Python文件,名字就叫做"print table",即打印一个表格。既然我们已经安装了这个包,我们就可以直接来导入它了。代码如下:
# 从beautifultable模块中导入BeautifulTable类
from beautifultable import BeautifulTable
# 创建一个BeautifulTable对象
table = BeautifulTable()
# 设置表格的列头
table.column_headers = ["姓名", "年龄"]
# 向表格中添加行数据
table.append_row(["Andy", 18])
table.append_row(["张三", 28])
table.append_row(["李四", 38])
table.append_row(["王五", 48])
table.append_row(["赵六", 58])
# 打印表格
print(table)
输出结果如下:
+------+------+
| 姓名 | 年龄 |
+------+------+
| Andy | 18 |
+------+------+
| 张三 | 28 |
+------+------+
| 李四 | 38 |
+------+------+
| 王五 | 48 |
+------+------+
| 赵六 | 58 |
+------+------+
现在我们就看到效果了,输出一个表格。这就是"beautiful table",它的一个简单使用。
接下来,我们再来看一下,pip还有哪些常用的命令。如下图所示:
输出包我们使用"pip freeze",然后一个箭头,指向后面一个文件,这个文件名我们可以自己命名,但通常情况下呢,我们会将它命名为"requirements.txt"。它的作用呢?它就是将我们当前环境下的所有的包都把它放到一个叫做"requirements.txt"的文件中。别人就知道我们这个项目使用了哪些包,然后它就可以安装这些包,来运行我们的项目。
镜像源加快下载速度
在之前的课程中,我们已经学习了如何使用pip工具来下载第三方模块。然而,有些同学可能会遇到下载时间过长甚至出现下载超时的情况。因此,在本节课中,我们将介绍如何加快下载速 度,即使用镜像源的方式。使用镜像源就相当于我们在照镜子一样,那在照镜子的时候,现实生活中的你和镜子中的你,在外观上是一样的。而在Python中呢,当我们要下载第三方模块的时候,我们需要到pypi这个仓库中去下载,但是呢,这个pypi它的服务器是在国外的。由于种种原因我们在访问国外的网站的时候,下载速度是非常的慢。所以现在我们不走这条路,我们走另一条路,这条路是由企业和一些机构为我们铺垫的,他们复制了原始的pypi国外仓库到国内的服务器上,从而加快了下载速度。在Python中,我们通常将这些镜像源称为镜像源。如下图所示:
使用镜像源时,有两种设置方式:临时设置和全局设置。临时设置意味着每次下载模块时都需要手动设置镜像源,而全局设置则只需设置一次,以后所有模块的下载都会使用同一个镜像源。
在临时设置中,我们可以使用"-i"参数加上镜像源的地址来下载模块。例如,我们在pycharm终端可以使用以下命令:
pip install -i https://pypi.douban.io/simple requests
这里,我们使用了豆瓣的镜像源来下载requests模块。然而,这种方式在下载多个模块时可能会比较繁琐。
相比之下全局设置只需要将设置写入一个配置文件中。在MAC上,我们可以在用户目录下创建一个.pip文件夹,在Mac终端输入:
mkdir .pip#创建文件夹
并在文件中其中创建一个pip.config文件,输入如下命令:
touch pip.config#创建文件
进入vi编辑器配置pip.config文件内容,在Mac终端输入:
vi pip.config
在pip.config文件中并添加以下内容:
[global]
index-url = https://pypi.douban.io/simple
trusted-host = pypi.douban.io
接下来,使用冒号wq进行保存退出,如下图所示:
接下来我们在windows上配置全局设置,首先,在C盘中,我们要找到“Users”文件夹,然后再进入“Administrator”账户下。在这个目录下,我们创建一个新文 件夹,命名为“pip”。然后,进入这个新创建的“pip”文件夹,在其中再新建一个文本文件,并将其命名为“pip.ini”。如下图所示:
保存文件后,我们需要打开这个新创建的文件。在文件中,我们添加了豆瓣的镜像源地址:
[global]
index-url = https://pypi.douban.io/simple
trusted-host = pypi.douban.io
设置完成后,我们就可以使用全局设置来下载模块了。例如,在Windows上,我们可以使用以下命令来安装模块:
pip install beautifultable
通过使用豆瓣源,我们可以看到安装下载的速度会更快。因此,在实际使用中,选择合适的镜像源可以提高我们的工作效率。